<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PowerVR SDK</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<table width="100%">
  <tr>
    <td width="33%">
      <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
    </td>
    <td width="33%">
      <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
    </td>
    <td width="34%">
      <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
    </td>
  </tr>
</table>
<hr>
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>PVRShell.h File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>

<p>
Include dependency graph for PVRShell.h:<p><center><img src="PVRShell_8h__incl.png" border="0" usemap="#PVRShell.h_map" alt="Include dependency graph"></center>

<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="PVRShell_8h__dep__incl.png" border="0" usemap="#PVRShell.hdep_map" alt="Included by dependency graph"></center>
<map name="PVRShell.hdep_map">
<area href="PVRShellAPI_8cpp.html" shape="rect" coords="7,7,132,34" alt="">
<area href="PVRShellOS_8cpp.html" shape="rect" coords="156,7,279,34" alt="">
<area href="PVRShell_8cpp.html" shape="rect" coords="303,7,407,34" alt="">
</map>

<p>
<a href="PVRShell_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structSCmdLineOpt.html">SCmdLineOpt</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores a variable name/value pair for an individual command-line option. </em> <a href="structSCmdLineOpt.html#_details">More...</a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPVRShell.html">PVRShell</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inherited by the application; responsible for abstracting the OS and API. </em> <a href="classPVRShell.html#_details">More...</a><em><br><br></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a0">EXIT_NOERR_CODE</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a1">EXIT_ERR_CODE</a>&nbsp;&nbsp;&nbsp;(!EXIT_NOERR_CODE)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a2">PVRSHELL_UNREFERENCED_PARAMETER</a>(x)&nbsp;&nbsp;&nbsp;((void) x)</td></tr>

<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a72">PVRShellKeyName</a> { <br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a72a3">PVRShellKeyNameNull</a>, 
<a class="el" href="PVRShell_8h.html#a72a4">PVRShellKeyNameQUIT</a>, 
<a class="el" href="PVRShell_8h.html#a72a5">PVRShellKeyNameSELECT</a>, 
<a class="el" href="PVRShell_8h.html#a72a6">PVRShellKeyNameACTION1</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a72a7">PVRShellKeyNameACTION2</a>, 
<a class="el" href="PVRShell_8h.html#a72a8">PVRShellKeyNameUP</a>, 
<a class="el" href="PVRShell_8h.html#a72a9">PVRShellKeyNameDOWN</a>, 
<a class="el" href="PVRShell_8h.html#a72a10">PVRShellKeyNameLEFT</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a72a11">PVRShellKeyNameRIGHT</a>, 
<a class="el" href="PVRShell_8h.html#a72a12">PVRShellKeyNameScreenshot</a>
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a73">PVRShellKeyRotate</a> { <a class="el" href="PVRShell_8h.html#a73a13">PVRShellKeyRotateNone</a> = 0, 
<a class="el" href="PVRShell_8h.html#a73a14">PVRShellKeyRotate90</a>, 
<a class="el" href="PVRShell_8h.html#a73a15">PVRShellKeyRotate180</a>, 
<a class="el" href="PVRShell_8h.html#a73a16">PVRShellKeyRotate270</a>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a74">EPVRShellButtonState</a> { <a class="el" href="PVRShell_8h.html#a74a17">ePVRShellButtonLeft</a> =  0x1, 
<a class="el" href="PVRShell_8h.html#a74a18">ePVRShellButtonRight</a> =  0x2, 
<a class="el" href="PVRShell_8h.html#a74a19">ePVRShellButtonMiddle</a> =  0x4
 }</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a> { <br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a75a20">prefFullScreen</a>, 
<a class="el" href="PVRShell_8h.html#a75a21">prefIsRotated</a>, 
<a class="el" href="PVRShell_8h.html#a75a22">prefPBufferContext</a>, 
<a class="el" href="PVRShell_8h.html#a75a23">prefPixmapContext</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a75a24">prefPixmapDisableCopy</a>, 
<a class="el" href="PVRShell_8h.html#a75a25">prefZbufferContext</a>, 
<a class="el" href="PVRShell_8h.html#a75a26">prefLockableBackBuffer</a>, 
<a class="el" href="PVRShell_8h.html#a75a27">prefSoftwareRendering</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a75a28">prefStencilBufferContext</a>, 
<a class="el" href="PVRShell_8h.html#a75a29">prefOpenVGContext</a>, 
<a class="el" href="PVRShell_8h.html#a75a30">prefAlphaFormatPre</a>, 
<a class="el" href="PVRShell_8h.html#a75a31">prefPowerSaving</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a75a32">prefOutputInfo</a>, 
<a class="el" href="PVRShell_8h.html#a75a33">prefNoShellSwapBuffer</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Boolean Shell preferences.  <a href="#a75">More...</a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a> { <a class="el" href="PVRShell_8h.html#a76a34">prefQuitAfterTime</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Float Shell preferences.  <a href="#a76">More...</a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a> { <br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a35">prefEGLMajorVersion</a>, 
<a class="el" href="PVRShell_8h.html#a77a36">prefEGLMinorVersion</a>, 
<a class="el" href="PVRShell_8h.html#a77a37">prefWidth</a>, 
<a class="el" href="PVRShell_8h.html#a77a38">prefHeight</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a39">prefPositionX</a>, 
<a class="el" href="PVRShell_8h.html#a77a40">prefPositionY</a>, 
<a class="el" href="PVRShell_8h.html#a77a41">prefQuitAfterFrame</a>, 
<a class="el" href="PVRShell_8h.html#a77a42">prefSwapInterval</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a43">prefInitRepeats</a>, 
<a class="el" href="PVRShell_8h.html#a77a44">prefFSAAMode</a>, 
<a class="el" href="PVRShell_8h.html#a77a45">prefCommandLineOptNum</a>, 
<a class="el" href="PVRShell_8h.html#a77a46">prefColorBPP</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a47">prefDepthBPP</a>, 
<a class="el" href="PVRShell_8h.html#a77a48">prefRotateKeys</a>, 
<a class="el" href="PVRShell_8h.html#a77a49">prefButtonState</a>, 
<a class="el" href="PVRShell_8h.html#a77a50">prefCaptureFrameStart</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a51">prefCaptureFrameStop</a>, 
<a class="el" href="PVRShell_8h.html#a77a52">prefPriority</a>, 
<a class="el" href="PVRShell_8h.html#a77a53">prefConfig</a>, 
<a class="el" href="PVRShell_8h.html#a77a54">prefRequestedConfig</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a77a55">prefNativeDisplay</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Integer Shell preferences.  <a href="#a77">More...</a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a> { <br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a78a56">prefD3DDevice</a>, 
<a class="el" href="PVRShell_8h.html#a78a57">prefEGLDisplay</a>, 
<a class="el" href="PVRShell_8h.html#a78a58">prefEGLSurface</a>, 
<a class="el" href="PVRShell_8h.html#a78a59">prefHINSTANCE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a78a60">prefNativeWindowType</a>, 
<a class="el" href="PVRShell_8h.html#a78a61">prefAccelerometer</a>, 
<a class="el" href="PVRShell_8h.html#a78a62">prefPointerLocation</a>, 
<a class="el" href="PVRShell_8h.html#a78a63">prefPVR2DContext</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointers/Handlers Shell preferences.  <a href="#a78">More...</a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a> { <br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a79a64">prefAppName</a>, 
<a class="el" href="PVRShell_8h.html#a79a65">prefReadPath</a>, 
<a class="el" href="PVRShell_8h.html#a79a66">prefWritePath</a>, 
<a class="el" href="PVRShell_8h.html#a79a67">prefCommandLine</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="PVRShell_8h.html#a79a68">prefCommandLineOpts</a>, 
<a class="el" href="PVRShell_8h.html#a79a69">prefExitMessage</a>, 
<a class="el" href="PVRShell_8h.html#a79a70">prefVersion</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant pointers Shell preferences.  <a href="#a79">More...</a><br><br></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classPVRShell.html">PVRShell</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRShell_8h.html#a71">NewDemo</a> ()</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="a1" doxytag="PVRShell.h::EXIT_ERR_CODE" ></a><p>
<br><br><h3>EXIT_ERR_CODE</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define EXIT_ERR_CODE&nbsp;&nbsp;&nbsp;(!EXIT_NOERR_CODE)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a0" doxytag="PVRShell.h::EXIT_NOERR_CODE" ></a><p>
<br><br><h3>EXIT_NOERR_CODE</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define EXIT_NOERR_CODE&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="PVRShell.h::PVRSHELL_UNREFERENCED_PARAMETER" ></a><p>
<br><br><h3>PVRSHELL_UNREFERENCED_PARAMETER</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define PVRSHELL_UNREFERENCED_PARAMETER</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">x&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((void) x)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="a74" doxytag="PVRShell.h::EPVRShellButtonState" ></a><p>
<br><br><h3>EPVRShellButtonState</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a74">EPVRShellButtonState</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Pointer button mapping. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a74a17" doxytag="ePVRShellButtonLeft" ></a>ePVRShellButtonLeft</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a74a18" doxytag="ePVRShellButtonRight" ></a>ePVRShellButtonRight</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a74a19" doxytag="ePVRShellButtonMiddle" ></a>ePVRShellButtonMiddle</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a75" doxytag="PVRShell.h::prefNameBoolEnum" ></a><p>
<br><br><h3>prefNameBoolEnum</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a75">prefNameBoolEnum</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Boolean Shell preferences. 
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a75a20" doxytag="prefFullScreen" ></a>prefFullScreen</em>&nbsp;</td><td>
Set to: 1 for full-screen rendering; 0 for windowed </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a21" doxytag="prefIsRotated" ></a>prefIsRotated</em>&nbsp;</td><td>
Query this to learn whether screen is rotated </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a22" doxytag="prefPBufferContext" ></a>prefPBufferContext</em>&nbsp;</td><td>
1 if you need pbuffer support (default is pbuffer not needed) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a23" doxytag="prefPixmapContext" ></a>prefPixmapContext</em>&nbsp;</td><td>
1 to use a pixmap as a render-target (default off) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a24" doxytag="prefPixmapDisableCopy" ></a>prefPixmapDisableCopy</em>&nbsp;</td><td>
1 to disable the copy if pixmaps are used </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a25" doxytag="prefZbufferContext" ></a>prefZbufferContext</em>&nbsp;</td><td>
1 if you wish to have zbuffer support (default to on) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a26" doxytag="prefLockableBackBuffer" ></a>prefLockableBackBuffer</em>&nbsp;</td><td>
DX9 only: true to use D3DPRESENTFLAG_LOCKABLE_BACKBUFFER (default: false) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a27" doxytag="prefSoftwareRendering" ></a>prefSoftwareRendering</em>&nbsp;</td><td>
1 to select software rendering (default: off, i.e. use hardware) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a28" doxytag="prefStencilBufferContext" ></a>prefStencilBufferContext</em>&nbsp;</td><td>
1 if you wish to have stencil support (default: off) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a29" doxytag="prefOpenVGContext" ></a>prefOpenVGContext</em>&nbsp;</td><td>
EGL only: 1 to initialize OpenVG instead of OpenGL ES (default: off) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a30" doxytag="prefAlphaFormatPre" ></a>prefAlphaFormatPre</em>&nbsp;</td><td>
EGL only: 1 to create the EGL surface with EGL_ALPHA_FORMAT_PRE (default: 0) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a31" doxytag="prefPowerSaving" ></a>prefPowerSaving</em>&nbsp;</td><td>
If true then the app will go into powersaving mode (if available) when not in use. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a32" doxytag="prefOutputInfo" ></a>prefOutputInfo</em>&nbsp;</td><td>
If true then the app will output helpful information such as colour buffer format via PVRShellOutputDebug. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a75a33" doxytag="prefNoShellSwapBuffer" ></a>prefNoShellSwapBuffer</em>&nbsp;</td><td>
EGL: If true then the shell won't call eglswapbuffers at the end of each frame. </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a79" doxytag="PVRShell.h::prefNameConstPtrEnum" ></a><p>
<br><br><h3>prefNameConstPtrEnum</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a79">prefNameConstPtrEnum</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constant pointers Shell preferences. 
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a79a64" doxytag="prefAppName" ></a>prefAppName</em>&nbsp;</td><td>
ptrValue is char* </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a65" doxytag="prefReadPath" ></a>prefReadPath</em>&nbsp;</td><td>
ptrValue is char*; will include a trailing slash </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a66" doxytag="prefWritePath" ></a>prefWritePath</em>&nbsp;</td><td>
ptrValue is char*; will include a trailing slash </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a67" doxytag="prefCommandLine" ></a>prefCommandLine</em>&nbsp;</td><td>
used to retrieve the entire application command line </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a68" doxytag="prefCommandLineOpts" ></a>prefCommandLineOpts</em>&nbsp;</td><td>
ptrValue is SCmdLineOpt*; retrieves an array of arg/value pairs (parsed from the command line) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a69" doxytag="prefExitMessage" ></a>prefExitMessage</em>&nbsp;</td><td>
ptrValue is char*; gives the shell a message to show on exit, typically an error </td></tr>
<tr><td valign=top><em><a class="anchor" name="a79a70" doxytag="prefVersion" ></a>prefVersion</em>&nbsp;</td><td>
ptrValue is char* </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a76" doxytag="PVRShell.h::prefNameFloatEnum" ></a><p>
<br><br><h3>prefNameFloatEnum</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a76">prefNameFloatEnum</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Float Shell preferences. 
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a76a34" doxytag="prefQuitAfterTime" ></a>prefQuitAfterTime</em>&nbsp;</td><td>
Shell will quit after this number of seconds (-1 to disable) </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a77" doxytag="PVRShell.h::prefNameIntEnum" ></a><p>
<br><br><h3>prefNameIntEnum</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a77">prefNameIntEnum</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Integer Shell preferences. 
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a77a35" doxytag="prefEGLMajorVersion" ></a>prefEGLMajorVersion</em>&nbsp;</td><td>
EGL: returns the major version as returned by eglInitialize() </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a36" doxytag="prefEGLMinorVersion" ></a>prefEGLMinorVersion</em>&nbsp;</td><td>
EGL: returns the minor version as returned by eglInitialize() </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a37" doxytag="prefWidth" ></a>prefWidth</em>&nbsp;</td><td>
Width of render target </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a38" doxytag="prefHeight" ></a>prefHeight</em>&nbsp;</td><td>
Height of render target </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a39" doxytag="prefPositionX" ></a>prefPositionX</em>&nbsp;</td><td>
X position of the window </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a40" doxytag="prefPositionY" ></a>prefPositionY</em>&nbsp;</td><td>
Y position of the window </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a41" doxytag="prefQuitAfterFrame" ></a>prefQuitAfterFrame</em>&nbsp;</td><td>
Shell will quit after this number of frames (-1 to disable) </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a42" doxytag="prefSwapInterval" ></a>prefSwapInterval</em>&nbsp;</td><td>
0 to preventing waiting for monitor vertical syncs </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a43" doxytag="prefInitRepeats" ></a>prefInitRepeats</em>&nbsp;</td><td>
Number of times to reinitialise (if &gt;0 when app returns false from RenderScene(), shell will ReleaseView(), InitView() then re-enter RenderScene() loop). Decrements on each initialisation. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a44" doxytag="prefFSAAMode" ></a>prefFSAAMode</em>&nbsp;</td><td>
Set to: 0 to disable full-screen anti-aliasing; 1 for 2x; 2 for 4x. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a45" doxytag="prefCommandLineOptNum" ></a>prefCommandLineOptNum</em>&nbsp;</td><td>
Returns the length of the array returned by prefCommandLineOpts </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a46" doxytag="prefColorBPP" ></a>prefColorBPP</em>&nbsp;</td><td>
Allows you to specify a desired color buffer size e.g. 16, 32. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a47" doxytag="prefDepthBPP" ></a>prefDepthBPP</em>&nbsp;</td><td>
Allows you to specify a desired depth buffer size e.g. 16, 24. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a48" doxytag="prefRotateKeys" ></a>prefRotateKeys</em>&nbsp;</td><td>
Allows you to specify and retrieve how the keyboard input is transformed </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a49" doxytag="prefButtonState" ></a>prefButtonState</em>&nbsp;</td><td>
pointer button state </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a50" doxytag="prefCaptureFrameStart" ></a>prefCaptureFrameStart</em>&nbsp;</td><td>
The frame to start capturing screenshots from </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a51" doxytag="prefCaptureFrameStop" ></a>prefCaptureFrameStop</em>&nbsp;</td><td>
The frame to stop capturing screenshots at </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a52" doxytag="prefPriority" ></a>prefPriority</em>&nbsp;</td><td>
EGL: If supported will set the egl context priority; 0 for low, 1 for med and 2 for high. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a53" doxytag="prefConfig" ></a>prefConfig</em>&nbsp;</td><td>
EGL: Get the chosen EGL config. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a54" doxytag="prefRequestedConfig" ></a>prefRequestedConfig</em>&nbsp;</td><td>
EGL: Force the shell to use a particular EGL config. </td></tr>
<tr><td valign=top><em><a class="anchor" name="a77a55" doxytag="prefNativeDisplay" ></a>prefNativeDisplay</em>&nbsp;</td><td>
EGL: Allows you to specify the native display to use if the device has more that one. </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a78" doxytag="PVRShell.h::prefNamePtrEnum" ></a><p>
<br><br><h3>prefNamePtrEnum</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a78">prefNamePtrEnum</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Pointers/Handlers Shell preferences. 
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a78a56" doxytag="prefD3DDevice" ></a>prefD3DDevice</em>&nbsp;</td><td>
D3D: returns the device pointer </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a57" doxytag="prefEGLDisplay" ></a>prefEGLDisplay</em>&nbsp;</td><td>
EGL: returns the EGLDisplay </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a58" doxytag="prefEGLSurface" ></a>prefEGLSurface</em>&nbsp;</td><td>
EGL: returns the EGLSurface </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a59" doxytag="prefHINSTANCE" ></a>prefHINSTANCE</em>&nbsp;</td><td>
Windows: returns the application instance handle </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a60" doxytag="prefNativeWindowType" ></a>prefNativeWindowType</em>&nbsp;</td><td>
Returns the window handle </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a61" doxytag="prefAccelerometer" ></a>prefAccelerometer</em>&nbsp;</td><td>
Accelerometer values </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a62" doxytag="prefPointerLocation" ></a>prefPointerLocation</em>&nbsp;</td><td>
Mouse pointer/touch location values </td></tr>
<tr><td valign=top><em><a class="anchor" name="a78a63" doxytag="prefPVR2DContext" ></a>prefPVR2DContext</em>&nbsp;</td><td>
PVR2D: returns the PVR2D context </td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a72" doxytag="PVRShell.h::PVRShellKeyName" ></a><p>
<br><br><h3>PVRShellKeyName</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a72">PVRShellKeyName</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Keyboard mapping. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a72a3" doxytag="PVRShellKeyNameNull" ></a>PVRShellKeyNameNull</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a4" doxytag="PVRShellKeyNameQUIT" ></a>PVRShellKeyNameQUIT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a5" doxytag="PVRShellKeyNameSELECT" ></a>PVRShellKeyNameSELECT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a6" doxytag="PVRShellKeyNameACTION1" ></a>PVRShellKeyNameACTION1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a7" doxytag="PVRShellKeyNameACTION2" ></a>PVRShellKeyNameACTION2</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a8" doxytag="PVRShellKeyNameUP" ></a>PVRShellKeyNameUP</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a9" doxytag="PVRShellKeyNameDOWN" ></a>PVRShellKeyNameDOWN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a10" doxytag="PVRShellKeyNameLEFT" ></a>PVRShellKeyNameLEFT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a11" doxytag="PVRShellKeyNameRIGHT" ></a>PVRShellKeyNameRIGHT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a72a12" doxytag="PVRShellKeyNameScreenshot" ></a>PVRShellKeyNameScreenshot</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a73" doxytag="PVRShell.h::PVRShellKeyRotate" ></a><p>
<br><br><h3>PVRShellKeyRotate</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum <a class="el" href="PVRShell_8h.html#a73">PVRShellKeyRotate</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="a73a13" doxytag="PVRShellKeyRotateNone" ></a>PVRShellKeyRotateNone</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a73a14" doxytag="PVRShellKeyRotate90" ></a>PVRShellKeyRotate90</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a73a15" doxytag="PVRShellKeyRotate180" ></a>PVRShellKeyRotate180</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="a73a16" doxytag="PVRShellKeyRotate270" ></a>PVRShellKeyRotate270</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a71" doxytag="PVRShell.h::NewDemo" ></a><p>
<br><br><h3>NewDemo</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classPVRShell.html">PVRShell</a>* NewDemo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>The demo supplied by the user </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>This function must be implemented by the user of the shell. The user should return its <a class="el" href="classPVRShell.html">PVRShell</a> object defining the behaviour of the application </dd></dl>
    </td>
  </tr>
</table>
<br>
<br>
<P align=left><FONT size=2><STRONG><A 
   href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> � 
   1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
<hr>
<address style="align: left;"><small><FONT color=f0f>
Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
</body>
</html>
